Skip to content

Conversation

@sanderegg
Copy link
Member

@sanderegg sanderegg commented Jul 28, 2025

What do these changes do?

This PR introduce a new NodeShareState object that contains the lock state, which groups currently have that node and its current status. Note that currently there are no shareable services and the new flag for these collaborative services is not checked, therefore all services are locked when one user uses them.

The websocket event NodeUpdated is extended with the additional information.
Currently the information can also be retrieved via GET /projects/{id} in the workbench subsection. NOTE that that GET /projects/{id}/nodes/{id} does not return the node state as it should but only the dynamic service state probably due to historical reasons and missing updates.

The new message data:
image
@odeimaiz note that in this case it is sadly still in snake casing. changing this implies many more changes and I am a bit reluctent on spending that time for it.

Also the NodeUpdated event is emitted when a user starts a service and when a service completed stopping. Currently since the dynamic-scheduler actually bypasses all other backend services to communicate with the frontend it can lead to a problem.

Related issue/s

How to test

Dev-ops

@sanderegg sanderegg added this to the Engage milestone Jul 28, 2025
@sanderegg sanderegg self-assigned this Jul 28, 2025
@sanderegg sanderegg added the a:webserver webserver's codebase. Assigning the area is particularly useful for bugs label Jul 28, 2025
@sanderegg sanderegg changed the title I1961/add node lock node locking Jul 28, 2025
@codecov
Copy link

codecov bot commented Jul 28, 2025

Codecov Report

❌ Patch coverage is 89.81481% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.04%. Comparing base (133458b) to head (3ebed22).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #8170      +/-   ##
==========================================
+ Coverage   88.03%   88.04%   +0.01%     
==========================================
  Files        1915     1912       -3     
  Lines       73834    73821      -13     
  Branches     1299     1300       +1     
==========================================
- Hits        64997    64995       -2     
+ Misses       8447     8435      -12     
- Partials      390      391       +1     
Flag Coverage Δ
integrationtests 64.06% <61.11%> (+<0.01%) ⬆️
unittests 86.69% <87.96%> (+0.02%) ⬆️
Components Coverage Δ
pkg_aws_library 93.93% <ø> (ø)
pkg_celery_library 87.37% <ø> (ø)
pkg_dask_task_models_library 79.62% <ø> (ø)
pkg_models_library 93.02% <91.42%> (-0.02%) ⬇️
pkg_notifications_library 85.26% <ø> (ø)
pkg_postgres_database 88.02% <ø> (ø)
pkg_service_integration 70.19% <ø> (ø)
pkg_service_library 71.86% <100.00%> (ø)
pkg_settings_library 90.17% <ø> (ø)
pkg_simcore_sdk 85.03% <ø> (-0.06%) ⬇️
agent 93.90% <ø> (ø)
api_server 93.26% <ø> (ø)
autoscaling 95.89% <ø> (ø)
catalog 92.34% <ø> (ø)
clusters_keeper 99.13% <ø> (ø)
dask_sidecar 92.37% <ø> (+0.78%) ⬆️
datcore_adapter 97.94% <ø> (ø)
director 76.14% <ø> (ø)
director_v2 90.88% <ø> (-0.07%) ⬇️
dynamic_scheduler 96.27% <ø> (ø)
dynamic_sidecar 89.93% <ø> (-0.12%) ⬇️
efs_guardian 89.62% <ø> (ø)
invitations 91.44% <ø> (ø)
payments 92.61% <ø> (ø)
resource_usage_tracker 92.13% <ø> (ø)
storage 86.63% <ø> (+0.29%) ⬆️
webclient ∅ <ø> (∅)
webserver 88.12% <88.88%> (+0.02%) ⬆️

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 133458b...3ebed22. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sanderegg sanderegg force-pushed the i1961/add-Node-lock branch 3 times, most recently from fc7ed8a to a4506cf Compare July 29, 2025 17:17
@sanderegg sanderegg requested a review from Copilot July 30, 2025 05:43

This comment was marked as outdated.

@sanderegg sanderegg force-pushed the i1961/add-Node-lock branch from 4c23e76 to 1867e27 Compare July 30, 2025 06:47
@sanderegg sanderegg requested a review from Copilot July 30, 2025 07:38

This comment was marked as outdated.

@sanderegg sanderegg requested a review from Copilot July 30, 2025 08:18

This comment was marked as outdated.

@sanderegg sanderegg force-pushed the i1961/add-Node-lock branch from 73b345d to 5463dc2 Compare July 31, 2025 06:34
@sanderegg sanderegg requested a review from Copilot July 31, 2025 06:35

This comment was marked as outdated.

@mergify
Copy link
Contributor

mergify bot commented Aug 11, 2025

🧪 CI Insights

Here's what we observed from your CI run for 3ebed22.

✅ Passed Jobs With Interesting Signals

Pipeline Job Signal Health on base branch Retries 🔍 CI Insights 📄 Logs
CI system-tests Base branch is broken, but the job passed. Looks like this might be a real fix 💪 Broken 0 View View

@sanderegg sanderegg force-pushed the i1961/add-Node-lock branch 2 times, most recently from 4712889 to 37f4d75 Compare August 12, 2025 13:40
@sanderegg sanderegg requested a review from Copilot August 12, 2025 15:09

This comment was marked as outdated.

@sanderegg sanderegg force-pushed the i1961/add-Node-lock branch from 449db88 to 1412a03 Compare August 14, 2025 07:35
@sanderegg sanderegg force-pushed the i1961/add-Node-lock branch from e56f6de to 1cec2bb Compare August 18, 2025 16:32
@sonarqubecloud
Copy link

@sanderegg sanderegg merged commit b85b814 into ITISFoundation:master Aug 19, 2025
95 checks passed
@sanderegg sanderegg deleted the i1961/add-Node-lock branch August 19, 2025 05:36
@matusdrobuliak66 matusdrobuliak66 mentioned this pull request Sep 2, 2025
61 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a:webserver webserver's codebase. Assigning the area is particularly useful for bugs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add NodeLock similar to ProjectLock

4 participants